#ifndef __LIGHT_H__
#define __LIGHT_H__

#include "Graphics/Color.h"

namespace RayFrame
{
  enum LightType
  {
    LIGHT_DIRECTIONAL,
    LIGHT_POINT,
  };

  struct DLL_DECLARE Light
  {
  public:
    LightType m_type;
    Color     m_diffuse, m_specular, m_ambient;
    glm::vec3      m_pos;
  public:
    Light()
    { 
      m_type = LIGHT_POINT; 
      m_diffuse = Color(1.0, 1.0, 1.0, 1.0); 
      m_pos = glm::vec3(0.0f, 50.0f, 0.0f);
    };

    Light(LightType type, glm::vec3 pos,
      Color diffuse, Color specular, Color ambient)
    {
      m_type = type;
      m_pos = pos;
      m_diffuse = diffuse;
      m_specular = specular;
      m_ambient = ambient;
    };
  };
}

#endif